package config

import (
	"log"
	"os"

	"github.com/BurntSushi/toml"
)

//使用toml来读取配置文件  使用此结构体来映射 文件
type tomlConfig struct {
	Viewer Viewer
	System SystemConfig
	//这里 对应toml文件中的两个标签
	//这里需要提供给外部访问  所以大写 依然能与toml文件所匹配
}

//这些数据并不存放在数据库中  而是作为配置文件存放在本地 （toml文件）
type Viewer struct {
	Title       string
	Description string
	Logo        string
	Navigation  []string
	Bilibili    string
	Avatar      string
	UserName    string
	UserDesc    string
}

type SystemConfig struct {
	AppName    string
	Version    float32
	CurrentDir string
	CdnURL     string
	//七牛云
	QiniuAccessKey string
	QiniuSecretKey string
	//组件 评论用
	Valine          bool
	ValineAppid     string
	ValineAppkey    string
	ValineServerURL string
}

var Cfg *tomlConfig

func init() {
	//程序启动的时候 就会执行init方法  （每个文件 的init 都会启动）
	Cfg = new(tomlConfig)

	Cfg.System.AppName = "yueng-go-blog"
	Cfg.System.Version = 1.0
	currentDir, _ := os.Getwd() //这里没有处理错误
	Cfg.System.CurrentDir = currentDir
	log.Println(currentDir)
	_, err := toml.DecodeFile("config/config.toml", &Cfg)
	if err != nil {
		panic(err)
	}
}
